package org.lc.cmd.connect;

import org.lc.cmd.CmdRequest;
import org.lc.cmd.model.StyledString;

import java.util.Map;

public interface ServerRequest extends CmdRequest {
    /**
     * 命令行
     */
    String line();

    String command();

    String subCommand();

    Map<String, String> getArgs();

    /**
     * 展示一句话，考虑到网络传输、会话消息展示频率优化，可能会合并传输，导致并非实时展示
     *
     * @param string 要展示的内容
     */
    void show(StyledString string);

    /**
     * 立即展示一句话，如非必要，建议使用show
     *
     * @param string 要展示的内容
     */
    void showNow(StyledString string);
}
